Allowing applications (e.g., third party applications) to run in the background of mobile devices and perform tasks allows malicious or poorly designed applications to drain the battery, consume bandwidth, and slow mobile phone/device performance. This is a problem on mobile devices where system resources are limited and foreground experiences are expected to run with full fidelity and responsiveness. In general, CPU, memory, and network bandwidth are limited system resources; moreover, bandwidth is highly variable in certain network conditions.
As a result, in one solution, application background processing is effectively disabled, in that the moment an application is removed from the foreground, that application is ‘deactivated.’ This means that applications currently rely on the user keeping them in the foreground to continue such tasks, including data transfers. This solution is generally undesirable.